[bits 32]
; Constants
VIDEO_MEMORY equ 0xb8000  ; Video memory
FONT_COLOR   equ 0x0f     ; White on black

; Prints a string pointed to by EDX
print_string_32:
  pusha
  mov edx, VIDEO_MEMORY
  mov ah, FONT_COLOR  

print_string_32_loop:
  mov al, [ebx]
  cmp al, 0
  je print_string_32_done
  
  mov [edx], ax

  add ebx, 1   ; Next char in memory
  add edx, 2   ; Next char in video memory

  jmp print_string_32_loop

print_string_32_done:
  popa
  ret          ; Return from the function

